package com.weimob.cloud.api.crm.rsp;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 微盟发送优惠券给指定客户响应
 */
@Getter
@Setter
public class WeimobCrmCouponReceiveRsp implements Serializable {

    /**
     * 失败发放数量
     */
    @JsonProperty("failedCount")
    private Integer failedCount;

    /**
     * 成功发放数量
     */
    @JsonProperty("successCount")
    private Integer successCount;

    /**
     * 优惠券列表
     */
    @JsonProperty("couponResultList")
    private List<CouponResultListDTO> couponResultList;

    /**
     * 领取结果。类型包括：1-全部领取成功；2-部分领取成功； 3-全部领取失败
     */
    @JsonProperty("status")
    private Integer status;

    @Data
    public static class CouponResultListDTO implements Serializable {

        /**
         * 当前优惠券的码值
         */
        @JsonProperty("codes")
        private List<String> codes;

        /**
         * 是否可继续领取。类型包括：1-是；0-否。
         */
        @JsonProperty("canReceive")
        private Integer canReceive;

        /**
         * 用户 ID
         */
        @JsonProperty("wid")
        private Integer wid;

        /**
         * 失败数量
         */
        @JsonProperty("failureNum")
        private Integer failureNum;

        /**
         * 赠送失败的码值
         */
        @JsonProperty("errCode")
        private String errCode;

        /**
         * 优惠券名称
         */
        @JsonProperty("name")
        private String name;

        /**
         * 赠送失败的原因
         */
        @JsonProperty("errMsg")
        private String errMsg;

        /**
         * 优惠券 ID
         */
        @JsonProperty("couponTemplateId")
        private Integer couponTemplateId;

        /**
         * 当前优惠券是否领取成功。true-成功，false-失败。
         */
        @JsonProperty("isSuccess")
        private Boolean isSuccess;
    }
}
